﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GameLibrary.Unit
{
    /// <summary>
    /// What kind of action a unit can perform.
    /// </summary>
    [Flags]
    [Serializable]
    public enum UnitActionFlags
    {
        /// <summary>
        /// Not exist in game.
        /// </summary>
        none        = 0x00,
        /// <summary>
        /// Move from a to b
        /// </summary>
        Move        = 0x01,
        Attack      = 0x02,
        Fortify     = 0x04,
        /// <summary>
        /// Build villages
        /// </summary>
        Build       = 0x08,
        /// <summary>
        /// Go to a position and come back to start point
        /// </summary>
        Explore = 0x10,
        /// <summary>
        /// Share hp and sp with other units
        /// </summary>
        Resupply    = 0x20,
        Default = Move | Fortify | Attack,
        Scout = Move | Fortify | Attack | Explore,
        All = Move | Build | Fortify | Explore | Resupply | Attack,
        Min = Move,
        Max = Resupply
    }
}
